package com.kele.schedule;

import com.kele.job.FindDb;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

import java.util.concurrent.TimeUnit;

public class MySchedule {

    public static void main(String[] args) throws SchedulerException, InterruptedException {


        //创建调度器
        SchedulerFactory schedulerFactory=new StdSchedulerFactory();
        Scheduler scheduler=schedulerFactory.getScheduler();

         /*
         2、创建JobDetail实例，并与PrintWordsJob类绑定(Job执行内容)
        JobDetail绑定指定的Job，每次Scheduler调度执行一个Job的时候，首先会拿到对应的Job，
        然后创建该Job实例，再去执行Job中的execute()的内容，任务执行结束后，关联的Job对象实例会被释放，且会被JVM GC清除。
         *
         */
//        JobDetail jobDetail= JobBuilder.newJob(FindDb.class)
//                .withIdentity("job1","group1").build();

        //创建trigger实例，每1s执行一次
        Trigger trigger=TriggerBuilder.newTrigger().withIdentity("trigger1","triggerGroup1")
                .startNow()//立即执行
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        //每1s执行一次
                        .withIntervalInSeconds(1)
                        //一直执行
                        .repeatForever()).build();

        //执行
        //scheduler.scheduleJob(jobDetail,trigger);
        System.out.println("--------scheduler start ! ------------");
        scheduler.start();

        //睡眠
        // 睡眠1min
        TimeUnit.MINUTES.sleep(1);
        scheduler.shutdown();
        System.out.println("--------scheduler stop ! ------------");
    }
}
